package com.example.myjavafx;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;

/**
 * @author admin
 */
public class SalesChartExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 1. 创建坐标轴
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setLabel("月份");

        NumberAxis yAxis = new NumberAxis();
        yAxis.setLabel("销售额（万元）");

        // 2. 创建柱状图
        BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis);
        barChart.setTitle("2023年季度销售额统计");
        barChart.setLegendVisible(false); // 隐藏图例

        // 3. 创建数据系列
        XYChart.Series<String, Number> series = new XYChart.Series<>();
        series.setName("季度数据");

        // 添加数据点
        series.getData().add(new XYChart.Data<>("第一季度", 120));
        series.getData().add(new XYChart.Data<>("第二季度", 150));
        series.getData().add(new XYChart.Data<>("第三季度", 180));
        series.getData().add(new XYChart.Data<>("第四季度", 210));

        // 4. 将数据系列添加到图表
        barChart.getData().add(series);

        // 5. 设置场景和舞台
        Scene scene = new Scene(barChart, 800, 600);
        primaryStage.setTitle("JavaFX 柱状图示例");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
